package com.explorati.design_pattern.hybrid.commandchain;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * 通过循环允许使用者持续输入各种命令，然后输出命令对应的返回值，运行后，输入各种ls命令
 * 
 * @author explorati
 *
 */
public class Client {

	public static void main(String[] args) throws IOException {
		Invoker invoker = new Invoker();
		while (true) {
			// unix下的默认提示符
			System.out.println("#");
			// 捕获输出
			String input = (new BufferedReader(new InputStreamReader(System.in))).readLine();
			if (input.equals("quit") || input.equals("exit")) {
				return;
			}
			System.out.println(invoker.exec(input));
		}
	}
}
